In general, Internet protocol (IP) multicast is used for distributing the same IP traffic to a plurality of user devices. In current systems, IP multicast uses join messages exchanged between routers in order to construct the IP multicast tree used for distributing the IP traffic. After a user device obtains a multicast address for accessing the multicast data, the user device uses a dedicated user-to-host protocol (e.g., multicast listener discovery (MLD) protocol for IPv6) to signal an associated access router indicating a request to join the multicast tree. The routers then use a router-to-router protocol (e.g., protocol independent multicast (PIM) for IPv6) to construct the multicast tree. Unfortunately, for complicated multicast trees, such router-to-router signaling may be quite complicated and expensive (e.g., in terms of router and network resource consumption).
Furthermore, existing multicast joins are complicated where a multicast tree crosses administrative domains. As such, existing multicast joins are quite complicated and unreliable for mobile user devices. For example, movement of a mobile user device between networks must be discovered by the networks and the movements must be communicated between routers. Unfortunately, such communication may be difficult where the associated routers are owned by different parties. Furthermore, while a mobile user device may initiate a multicast join on a new network, the mobile user device may not be able to send a multicast leave on the original network when his connection is dropped. This may result in a multicast tree in which IP traffic is distributed to routers to which a mobile user device is no longer connected.